package test;

import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.pipeline.FilePipeline;
import us.codecraft.webmagic.processor.PageProcessor;

public class JobProcessor1 implements PageProcessor {

    //解析页面
    public void process(Page page) {

        //获取连接
        page.addTargetRequests(page.getHtml().css("div.top_newslist").links().regex(".*2[.]shtml$").all());
        page.putField("url", page.getHtml().css("#article").all());
    }
    private Site site=Site.me()
            .setCharset("utf8") // 设置编码
            .setTimeOut(10000) // 设置超时时间, 单位是ms毫秒
            .setRetrySleepTime(3000) // 设置重试的间隔时间
            .setSleepTime(3); // 设置重试次数


    public Site getSite(){
        return site;
    }

    //主函数，执行爬虫
    public static void main(String[] args) {
        System.out.println("爬虫正在执行...");
        Spider.create(new JobProcessor())
                // 初始访问url地址
                .addUrl("https://www.sina.com.cn/")
                // 设置保存到文件夹
                .addPipeline(new FilePipeline("C:\\Users\\lucky\\Desktop\\数据库学习\\爬虫"))
                .thread(5) // 设置有5个线程处理
                .run(); // 执行爬虫
        System.out.println("爬虫执行完毕");
    }
}
